package com.ruoyi.company.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 公司管理对象 enterprise
 * 
 * @author admin
 * @date 2025-05-03
 */
public class Enterprise extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 企业唯一ID（自增主键） */
    private Long id;

    /** 企业全称（唯一约束） */
    @Excel(name = "企业全称", readConverterExp = "唯=一约束")
    private String name;

    /** 企业注册地址（省市区+详细地址） */
    @Excel(name = "企业注册地址", readConverterExp = "省=市区+详细地址")
    private String address;

    /** 法人姓名 */
    @Excel(name = "法人姓名")
    private String legalPerson;

    /** 电话 */
    @Excel(name = "电话")
    private String phoneNumber;

    /** 企业官方邮箱（需符合RFC5322标准格式） */
    @Excel(name = "企业官方邮箱", readConverterExp = "需=符合RFC5322标准格式")
    private String email;

    /** 企业官网地址（需包含协议头） */
    @Excel(name = "企业官网地址", readConverterExp = "需=包含协议头")
    private String officialWebsite;

    /** 企业成立日期（YYYY-MM-DD格式） */
    @Excel(name = "企业成立日期", readConverterExp = "Y=YYY-MM-DD格式")
    private Date establishDate;

    /** 统一社会信用代码（18位数字/字母组合，唯一标识企业） */
    @Excel(name = "统一社会信用代码", readConverterExp = "1=8位数字/字母组合，唯一标识企业")
    private String unifiedSocialCode;

    /** 企业运营状态（正常运营/停业整顿/注销） */
    @Excel(name = "企业运营状态", readConverterExp = "正=常运营/停业整顿/注销")
    private String status;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }

    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }

    public void setLegalPerson(String legalPerson) 
    {
        this.legalPerson = legalPerson;
    }

    public String getLegalPerson() 
    {
        return legalPerson;
    }

    public void setPhoneNumber(String phoneNumber) 
    {
        this.phoneNumber = phoneNumber;
    }

    public String getPhoneNumber() 
    {
        return phoneNumber;
    }

    public void setEmail(String email) 
    {
        this.email = email;
    }

    public String getEmail() 
    {
        return email;
    }

    public void setOfficialWebsite(String officialWebsite) 
    {
        this.officialWebsite = officialWebsite;
    }

    public String getOfficialWebsite() 
    {
        return officialWebsite;
    }

    public void setEstablishDate(Date establishDate) 
    {
        this.establishDate = establishDate;
    }

    public Date getEstablishDate() 
    {
        return establishDate;
    }

    public void setUnifiedSocialCode(String unifiedSocialCode) 
    {
        this.unifiedSocialCode = unifiedSocialCode;
    }

    public String getUnifiedSocialCode() 
    {
        return unifiedSocialCode;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("address", getAddress())
            .append("legalPerson", getLegalPerson())
            .append("phoneNumber", getPhoneNumber())
            .append("email", getEmail())
            .append("officialWebsite", getOfficialWebsite())
            .append("establishDate", getEstablishDate())
            .append("unifiedSocialCode", getUnifiedSocialCode())
            .append("status", getStatus())
            .toString();
    }
}
